Dev coolfish#41
Merged
Merged
Conversation
BREAKING CHANGE: 已移除 `hasBox3JSClient()` 和 `hasBox3JSClientMod()` 方法,不再需要手动检测客户端。远程通道事件现在使用可选负载,无 Box3JS 的普通客户端会自动忽略且不会报错。 实现方案改用原版箱子菜单类型替代自定义容器,无需注册客户端界面及 MenuType 定义。
添加 verifyBox3JSProject 任务,用于检查模板文件、运行时 DTS 拆分以及事件 API Token 的一致性。将该任务注册到 check 生命周期。启用废弃 API 和未检查操作的编译器警告,提升代码质量。 docs(api): 添加 API 风格规范并改进文档 新增 API 风格规则章节,涵盖 GameEventHandlerToken 使用、环境特定类型、跨端数据通信以及坐标 API 模式。更新 client.onTick 文档,反映其返回 GameEventHandlerToken。补充 db.isAvailable() 文档。记录 player 的 position、velocity、bounds 和 onGround 属性。在服务端 API 文档中添加 broadcastClientEvent 示例。说明 storage.key 属性。更新架构文档,反映 server.js 入口点。 feat(client): 为客户端事件实现 GameEventHandlerToken 修改 client.onTick 使其返回 GameEventHandlerToken,实现事件监听器的规范管理。更新按键映射,包含无前缀的修饰键(shift、ctrl、alt)。使用解释执行上下文进行 Rhino 操作。 refactor(storage): 集中存储路径解析与错误处理 将存储文件操作移至 Box3StorageSupport 工具类,实现更好的错误处理和一致的路径解析。用集中式实现替代手动的路径清理。 refactor(database): 改进错误处理与日志记录 将数据库目录创建失败时的静默异常捕获替换为适当的警告日志。 refactor(gui): 改进错误处理与日志记录 将 GUI 槽位条目无效时的静默异常捕获替换为调试日志。 refactor(entity): 改进错误处理与日志记录 将设置文本展示实体属性失败时的静默异常捕获替换为警告日志。使用 BuiltInRegistries 进行实体类型查找,替代已废弃的方法。 refactor(response): 移除静默异常处理 移除解析 JSON 响应体时被忽略的异常处理。 refactor(player): 为玩家事件实现 GameEventHandlerToken 更新 player.onChat 使其返回 GameEventHandlerToken,实现事件监听器的规范管理。改进设置玩家列表名称时的错误处理。
为 Box3JS 添加基于 Rhino 引擎的双端(客户端 + 服务端)TypeScript/JavaScript 脚本支持,取代了之前仅限服务端的实现。包含全面的文档更新、新增的分离式客户端/服务端 API 包结构,以及支持服务端和客户端脚本编译的增强构建流程。 BREAKING CHANGE: Box3JS 现已支持客户端和服务端脚本,取代了之前的仅服务端脚本模式。项目需要更新脚本结构以适配新的双端架构。
- 更新主要描述,明确 Box3JS 是社区驱动的 Minecraft 模组 - 添加 Box3JS 与 Box3 关系文档的参考链接 - 扩展 API 设计灵感来源于 Box3 平台的说明 - 新增 about-box3js 指南文档路径 - 修复安装示例代码块的格式问题 - 调整表格列宽,提升可读性 - 优化功能表格和 API 概览表格的文本对齐
Player 类反射访问中的字段名被错误地写成了 "displayName",实际应为 "displayname"。
feat(build): 为 Rhino 环境添加正则表达式插件支持
添加 rhinoRegexPlugin 插件,用于处理 Minecraft Rhino 环境中的正则表达式操作。由于类加载器隔离导致 NativeRegExp 无法加载,该插件将正则表达式字面量转换为对辅助函数的调用,支持 split、match、replace、test 和 exec 操作。
该插件将以下语法进行转换:
- str.split(/pattern/flags) → __regexSplit(str, "pattern", "flags")
- str.match(/pattern/flags) → __regexMatch(str, "pattern", "flags")
- str.replace(/pattern/flags, r) → __regexReplace(str, "pattern", "flags", r)
- /pattern/flags.test(str) → __regexTest("pattern", "flags", str)
- 在 .gitignore 中添加 VitePress 相关条目,包括 node_modules、docs/.vitepress/dist/ 及 docs/.vitepress/cache/ - 移除 BOX3_API_COMPARISON.md 中冗余的目录,因其与章节标题重复 - 优化天气 API 对比表格的列对齐,改进 Markdown 格式 - 移除 API 对比文档中各章节之间冗余的分隔线 - 在 Box3JS 独有能力章节中补充缺失的换行,提升可读性 - 移除主 README.md 文件,因文档结构已变更
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.